package top.lywivan.recur;

/**
 * @desc
 * @author:ivan.liu
 */
public class NFactorial {

    public int fac(int n){
        //terminal终止条件
        if(n==1){
            return 1;
        }
        //process当前层逻辑+跳入下一层
        return n*fac(n-1);
    }

    public int fac_loop(int n){
        int res=1;
        for(int i=2;i<=n;i++){
            res*=i;
        }
        return res;
    }
}
